<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos  -->
			<title>File Source for controller.php</title>
			<link rel="stylesheet" href="../media/stylesheet.css" />
											</head>
		<body>
						<h1>Source for file controller.php</h1>
<p>Documentation is available at <a href="../myLiveShop/_core_controller_php.html">controller.php</a></p>
<div class="src-code">
<pre><ol><li><a name="a1"></a><span class="src-php">&lt;?php</span></li>
<li><a name="a2"></a><span class="src-doc">/**</span></li>
<li><a name="a3"></a><span class="src-doc"> * Контроллер</span></li>
<li><a name="a4"></a><span class="src-doc"> * </span></li>
<li><a name="a5"></a><span class="src-doc"> * Общий класс контроллера</span></li>
<li><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Anton Zavidov</span></li>
<li><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> myLiveShop</span></li>
<li><a name="a8"></a><span class="src-doc"> */</span></li>
<li><a name="a9"></a>&nbsp;</li>
<li><a name="a10"></a><span class="src-doc">/**</span></li>
<li><a name="a11"></a><span class="src-doc"> * Базовый класс контроллера</span></li>
<li><a name="a12"></a><span class="src-doc"> *</span></li>
<li><a name="a13"></a><span class="src-doc"> */</span></li>
<li><a name="a14"></a><span class="src-key">abstract </span><span class="src-key">class </span><a href="../myLiveShop/Controller.html">Controller</a> <span class="src-key">extends </span><a href="../myLiveShop/Base.html">Base</a> <span class="src-sym">{</span></li>
<li><a name="a15"></a>    <span class="src-doc">/**</span></li>
<li><a name="a16"></a><span class="src-doc">     * Список моделей</span></li>
<li><a name="a17"></a><span class="src-doc">     *</span></li>
<li><a name="a18"></a><span class="src-doc">     * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array; </span></li>
<li><a name="a19"></a><span class="src-doc">     */</span></li>
<li><a name="a20"></a>    <span class="src-key">protected </span><span class="src-key">static </span><span class="src-var">$models</span>=<span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></li>
<li><a name="a21"></a>    <span class="src-doc">/**</span></li>
<li><a name="a22"></a><span class="src-doc">     * Имя контроллера</span></li>
<li><a name="a23"></a><span class="src-doc">     *</span></li>
<li><a name="a24"></a><span class="src-doc">     * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span></li>
<li><a name="a25"></a><span class="src-doc">     */</span></li>
<li><a name="a26"></a>    <span class="src-key">protected </span><span class="src-key">static </span><span class="src-var">$name</span><span class="src-sym">;</span></li>
<li><a name="a27"></a>    <span class="src-doc">/**</span></li>
<li><a name="a28"></a><span class="src-doc">     * Инстанс класа</span></li>
<li><a name="a29"></a><span class="src-doc">     *</span></li>
<li><a name="a30"></a><span class="src-doc">     * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">Controller </span></li>
<li><a name="a31"></a><span class="src-doc">     */</span></li>
<li><a name="a32"></a>    <span class="src-key">protected </span><span class="src-key">static </span><span class="src-var">$instance</span><span class="src-sym">;</span></li>
<li><a name="a33"></a>    <span class="src-doc">/**</span></li>
<li><a name="a34"></a><span class="src-doc">     * Констуктор</span></li>
<li><a name="a35"></a><span class="src-doc">     *</span></li>
<li><a name="a36"></a><span class="src-doc">     * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$className </span><span class="src-doc">имя подели</span></li>
<li><a name="a37"></a><span class="src-doc">     */</span></li>
<li><a name="a38"></a>    <span class="src-key">public </span><span class="src-key">function </span><a href="../myLiveShop/Controller.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$className</span>=<span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">{</span></li>
<li><a name="a39"></a>        </li>
<li><a name="a40"></a>        <span class="src-id">parent</span><span class="src-sym">::</span><a href="../myLiveShop/Base.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$className</span>?<span class="src-var">$className</span>:__CLASS__<span class="src-sym">)</span><span class="src-sym">;</span></li>
<li><a name="a41"></a>    <span class="src-sym">}</span></li>
<li><a name="a42"></a>    <span class="src-doc">/**</span></li>
<li><a name="a43"></a><span class="src-doc">     * Поличение инстанса класса</span></li>
<li><a name="a44"></a><span class="src-doc">     *</span></li>
<li><a name="a45"></a><span class="src-doc">     * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Controller </span></li>
<li><a name="a46"></a><span class="src-doc">     */</span></li>
<li><a name="a47"></a>    <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../myLiveShop/Controller.html#methodgetInstance">getInstance</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></li>
<li><a name="a48"></a>        <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>=== <span class="src-id">null</span><span class="src-sym">)</span></li>
<li><a name="a49"></a>        <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></li>
<li><a name="a50"></a>        <span class="src-key">else</span></li>
<li><a name="a51"></a>        <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance</span><span class="src-sym">;</span></li>
<li><a name="a52"></a>    <span class="src-sym">}</span></li>
<li><a name="a53"></a>    <span class="src-doc">/**</span></li>
<li><a name="a54"></a><span class="src-doc">     * Получаем модель контроллера</span></li>
<li><a name="a55"></a><span class="src-doc">     *</span></li>
<li><a name="a56"></a><span class="src-doc">     * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">имя модели</span></li>
<li><a name="a57"></a><span class="src-doc">     * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Model </span></li>
<li><a name="a58"></a><span class="src-doc">     */</span></li>
<li><a name="a59"></a>    <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-sym">&amp;</span><a href="../myLiveShop/Controller.html#methodmodel">model</a><span class="src-sym">(</span><span class="src-var">$name</span>=<span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">{</span></li>
<li><a name="a60"></a>        <span class="src-var">$name</span>=<span class="src-var">$name</span>?<span class="src-var">$name</span>:<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$name</span><span class="src-sym">;</span></li>
<li><a name="a61"></a>        <span class="src-comm">//если модели нет в списке добавляем её</span></li>
<li><a name="a62"></a>        <span class="src-key">if</span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$models</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$models</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span>=<span class="src-id">null</span><span class="src-sym">;</span></li>
<li><a name="a63"></a>        <span class="src-comm">//если модель не была загружена загружаем её</span></li>
<li><a name="a64"></a>        <span class="src-key">if</span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$models</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">{</span></li>
<li><a name="a65"></a>            <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$models</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span>=<span class="src-id">import</span><span class="src-sym">(</span><span class="src-str">'model.'</span>.<span class="src-var">$name</span>.<span class="src-str">'+'</span><span class="src-sym">)</span><span class="src-sym">;</span></li>
<li><a name="a66"></a>            <span class="src-comm">//если не удалось её загрузить</span></li>
<li><a name="a67"></a>            <span class="src-key">if</span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$models</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">{</span></li>
<li><a name="a68"></a>                <span class="src-key">new </span><span class="src-id">CoreExeption</span><span class="src-sym">(</span><span class="src-str">'Не удалось загрузить модель'</span>.<span class="src-var">$name</span>.<span class="src-str">', в контролере '</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$name</span><span class="src-sym">,</span><span class="src-id">E_ERROR</span><span class="src-sym">,</span>__FILE__<span class="src-sym">,</span>__LINE__<span class="src-sym">)</span><span class="src-sym">;</span></li>
<li><a name="a69"></a>                <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></li>
<li><a name="a70"></a>            <span class="src-sym">}</span></li>
<li><a name="a71"></a>        <span class="src-sym">}</span></li>
<li><a name="a72"></a>        <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$models</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">;</span></li>
<li><a name="a73"></a>    <span class="src-sym">}</span></li>
<li><a name="a74"></a><span class="src-sym">}</span></li>
</ol></pre>
</div>
	<p class="notes" id="credit">
		Документ создан Mon, 14 Feb 2011 01:08:31 +0200 в <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.3.0RC3</a>
	</p>
	</body>
</html>